package com.zcf.shiro.idcentity.major.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户定义
 * </p>
 *
 * @author dev2
 * @since 2020-05-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("T_IDC_USER_DEF")
public class TIdcUserDef extends Model<TIdcUserDef> {

    /**
    * 所有字段名
    */
    public static class Columns {
        /**
        * 用户ID
        */
        public static final String userid = "USERID";
        /**
        * 用户姓名
        */
        public static final String cn = "CN";
        /**
        * 姓氏
        */
        public static final String sn = "SN";
        /**
        * 名字
        */
        public static final String givenname = "GIVENNAME";
        /**
        * 密码
        */
        public static final String userpassword = "USERPASSWORD";
        /**
        * 职务
        */
        public static final String title = "TITLE";
        /**
        * 所在单位编号
        */
        public static final String o = "O";
        /**
        * 所在挂靠单位(部门)编号
        */
        public static final String ou = "OU";
        /**
        * 适用于内部用户：
一个用户除了属于一个主部门ou外，还可以属于其他部门
        */
        public static final String otherou = "OTHEROU";
        /**
        * 电子邮件
        */
        public static final String mail = "MAIL";
        /**
        * 电话号码
        */
        public static final String telephonenumber = "TELEPHONENUMBER";
        /**
        * 移动电话号码
        */
        public static final String mobile = "MOBILE";
        /**
        * 传真
        */
        public static final String failcsimetelephonenumber = "FAILCSIMETELEPHONENUMBER";
        /**
        * 证书号码
        */
        public static final String canumber = "CANUMBER";
        /**
        * certificateType:
身份证:1
护照:2
军官证:3
        */
        public static final String certificatetype = "CERTIFICATETYPE";
        /**
        * 用户证件号码
        */
        public static final String certificatenumber = "CERTIFICATENUMBER";
        /**
        * 1:已审核状态
0:未审核状态
        */
        public static final String approvestate = "APPROVESTATE";
        /**
        * 1:启用状态
0:禁用状态
        */
        public static final String activestate = "ACTIVESTATE";
        /**
        * 0:普通
1:挂靠单位管理员
2:单位管理员
3:部门管理员
4:平台管理员
        */
        public static final String outeridentitystate = "OUTERIDENTITYSTATE";
        /**
        * 0:内部用户
1:外部用户
        */
        public static final String usertype = "USERTYPE";
        /**
        * 密码提示问题
        */
        public static final String passwordask = "PASSWORDASK";
        /**
        * 密码提示答案
        */
        public static final String passwordanswer = "PASSWORDANSWER";
        /**
        * 创建时间
        */
        public static final String usropdate = "USROPDATE";
        /**
        * 性别
        */
        public static final String sex = "SEX";
        /**
        * 生日
        */
        public static final String birthday = "BIRTHDAY";
        /**
        * 个人简介
        */
        public static final String biography = "BIOGRAPHY";
        /**
        * 中国电子口岸卡证书号码
        */
        public static final String cncanumber = "CNCANUMBER";
        /**
        * 报检员号
        */
        public static final String ciqNo = "CIQ_NO";
        /**
        * 用户注册来源 10=溯源APP 20=宁波溯源官网 30=溯源积分商城  14=波特云 15=四方集运
        */
        public static final String regFrom = "REG_FROM";
        /**
        * 昵称
        */
        public static final String nickName = "NICK_NAME";
        /**
        * QQ
        */
        public static final String qq = "QQ";
        /**
        * 是否同步到PM系统 Y:是 N:否
        */
        public static final String toPm = "TO_PM";
    }

    /**
     * 用户ID
     */
    @TableId("USERID")
    private String userid;

    /**
     * 用户姓名
     */
    @TableField("CN")
    private String cn;

    /**
     * 姓氏
     */
    @TableField("SN")
    private String sn;

    /**
     * 名字
     */
    @TableField("GIVENNAME")
    private String givenname;

    /**
     * 密码
     */
    @TableField("USERPASSWORD")
    private String userpassword;

    /**
     * 职务
     */
    @TableField("TITLE")
    private String title;

    /**
     * 所在单位编号
     */
    @TableField("O")
    private String o;

    /**
     * 所在挂靠单位(部门)编号
     */
    @TableField("OU")
    private String ou;

    /**
     * 适用于内部用户：
一个用户除了属于一个主部门ou外，还可以属于其他部门
     */
    @TableField("OTHEROU")
    private String otherou;

    /**
     * 电子邮件
     */
    @TableField("MAIL")
    private String mail;

    /**
     * 电话号码
     */
    @TableField("TELEPHONENUMBER")
    private String telephonenumber;

    /**
     * 移动电话号码
     */
    @TableField("MOBILE")
    private String mobile;

    /**
     * 传真
     */
    @TableField("FAILCSIMETELEPHONENUMBER")
    private String failcsimetelephonenumber;

    /**
     * 证书号码
     */
    @TableField("CANUMBER")
    private String canumber;

    /**
     * certificateType:
身份证:1
护照:2
军官证:3
     */
    @TableField("CERTIFICATETYPE")
    private Double certificatetype;

    /**
     * 用户证件号码
     */
    @TableField("CERTIFICATENUMBER")
    private String certificatenumber;

    /**
     * 1:已审核状态
0:未审核状态
     */
    @TableField("APPROVESTATE")
    private Double approvestate;

    /**
     * 1:启用状态
0:禁用状态
     */
    @TableField("ACTIVESTATE")
    private Double activestate;

    /**
     * 0:普通
1:挂靠单位管理员
2:单位管理员
3:部门管理员
4:平台管理员
     */
    @TableField("OUTERIDENTITYSTATE")
    private Double outeridentitystate;

    /**
     * 0:内部用户
1:外部用户
     */
    @TableField("USERTYPE")
    private Double usertype;

    /**
     * 密码提示问题
     */
    @TableField("PASSWORDASK")
    private String passwordask;

    /**
     * 密码提示答案
     */
    @TableField("PASSWORDANSWER")
    private String passwordanswer;

    /**
     * 创建时间
     */
    @TableField("USROPDATE")
    private LocalDateTime usropdate;

    /**
     * 性别
     */
    @TableField("SEX")
    private String sex;

    /**
     * 生日
     */
    @TableField("BIRTHDAY")
    private LocalDateTime birthday;

    /**
     * 个人简介
     */
    @TableField("BIOGRAPHY")
    private String biography;

    /**
     * 中国电子口岸卡证书号码
     */
    @TableField("CNCANUMBER")
    private String cncanumber;

    /**
     * 报检员号
     */
    @TableField("CIQ_NO")
    private String ciqNo;

    /**
     * 用户注册来源 10=溯源APP 20=宁波溯源官网 30=溯源积分商城  14=波特云 15=四方集运
     */
    @TableField("REG_FROM")
    private String regFrom;

    /**
     * 昵称
     */
    @TableField("NICK_NAME")
    private String nickName;

    /**
     * QQ
     */
    @TableField("QQ")
    private String qq;

    /**
     * 是否同步到PM系统 Y:是 N:否
     */
    @TableField("TO_PM")
    private String toPm;


    @Override
    protected Serializable pkVal() {
        return this.userid;
    }

}
